#ifndef TEMPLATEXPLSCHEMA_H
#define TEMPLATEXPLSCHEMA_H

#include <QString>
#include <QList>
#include <TemplatexPLClass.h>

class TemplatexPLSchema
{
private:
    QString name;
    QList<TemplatexPLClass> classList;

public:
    TemplatexPLSchema();
    TemplatexPLSchema(const QString& name);
    TemplatexPLSchema(const QString &name, const QList<TemplatexPLClass>& list);
    TemplatexPLSchema(const TemplatexPLSchema& other);
    virtual ~TemplatexPLSchema();
    TemplatexPLSchema& operator=(const TemplatexPLSchema& other);
    bool equals(const TemplatexPLSchema& other) const;
    virtual QString toString() const;
    virtual QString toXml() const;
    const QString& getName() const { return name; }
    void setName(const QString& name) { this->name = name; }
    const QList<TemplatexPLClass> classes() const { return classList; }
    QList<TemplatexPLClass> classes() { return classList; }
    void setClasses(const QList<TemplatexPLClass>& list) { classList = list; }
};

#endif // TEMPLATEXPLSCHEMA_H
